﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using XRM.Security.DataAccess.Interfaces;

namespace XRM.Security.DataAccess.Models
{
    [Table("SkziKind")]
    public class SkziKind : IRemovable
    {
        public SkziKind()
        {
            SertificateFsbs = new List<SertificateFsb>();
            SertificateFstks = new List<SertificateFstk>();
        }

        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int SkziKindId { get; set; }
        
        [Required]
        [MaxLength(200)]
        public string FullName { get; set; }

        [Required]
        [MaxLength(100)]
        public string ShortName { get; set; }

        [Required]
        [MaxLength(200)]
        public string RegistrNumber { get; set; }
        
        [MaxLength(200)]
        public string OperationDocName { get; set; }

        [MaxLength(200)]
        public string TechnikalDocName { get; set; }

        [Required]
        public bool IsDeleted { get; set; }

        public virtual ICollection<UserSkzi> UserSkzi { get; set; }
        public virtual ICollection<SertificateFsb> SertificateFsbs { get; set; }
        public virtual ICollection<SertificateFstk> SertificateFstks { get; set; }
    } 
}
